﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ChestPainCenterSystem.Model
{
    public class CaseHistoryViewModel
    {
        /// <summary>
        /// 姓名
        /// </summary>
        public string PatientName { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public string PatientSex { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public string PatientAge { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string PatientPhone { get; set; }
        /// <summary>
        /// 就诊ID
        /// </summary>
        public string PatientId { get; set; }
        /// <summary>
        /// 身份证号
        /// </summary>
        public string PatientIdNum { get; set; }
        /// <summary>
        /// 联系地址
        /// </summary>
        public string PatientAddr { get; set; }
        /// <summary>
        /// 发病时间
        /// </summary>
        public DateTime? EmsDiseaseTime { get; set; }
        /// <summary>
        /// 发病科室
        /// </summary>
        public string DiseaseDep { get; set; }
        /// <summary>
        /// 离开科室时间
        /// </summary>
        public DateTime? LeaveDepTime { get; set; }
        /// <summary>
        /// 会诊时间
        /// </summary>
        public DateTime? ConsultationTime { get; set; }
        /// <summary>
        /// 来院方式
        /// </summary>
        public string PatientArriveClass { get; set; }
        /// <summary>
        /// 出车单位
        /// </summary>
        public int? CarType { get; set; }
        /// <summary>
        /// 出诊医生到达现场时间
        /// </summary>
        public DateTime? DoctorArriveTime { get; set; }
        /// <summary>
        /// 是否网络医院
        /// </summary>
        public int IsNetHospital { get; set; }
        /// <summary>
        /// 转出医院名称
        /// </summary>
        public string TransferOutHospital { get; set; }
        /// <summary>
        /// 转出医院入门时间
        /// </summary>
        public DateTime? ArriveDoorTime { get; set; }
        /// <summary>
        /// 决定转出医院时间
        /// </summary>
        public DateTime? SureTransferOutTime { get; set; }
        /// <summary>
        /// 转运救护车到达时间
        /// </summary>
        public string AmbulanceArriveTime { get; set; }
        /// <summary>
        /// 离开转出医院时间
        /// </summary>
        public DateTime? LeaveTime { get; set; }
        /// <summary>
        /// 车辆到达医院大门时间
        /// </summary>
        public DateTime? EmsArriveDoorTime { get; set; }
        /// <summary>
        /// 院内接诊时间
        /// </summary>
        public DateTime? HMedicalTime { get; set; }
        /// <summary>
        /// 是否绕行
        /// </summary>
        public string IsRound { get; set; }
        /// <summary>
        /// 直达科室
        /// </summary>
        public string ThroughToDep { get; set; }
        /// <summary>
        /// 到达时间
        /// </summary>
        public DateTime? ThroughToTime { get; set; }
        /// <summary>
        /// 首次医疗接触
        /// </summary>
        public string FirstPlace { get; set; }
        /// <summary>
        /// 首次医疗接触人员
        /// </summary>
        public string FirstDocName { get; set; }
        /// <summary>
        /// 院内首份心电图时间
        /// </summary>
        public DateTime? FirstHEcgTime { get; set; }
        /// <summary>
        /// 首份心电图确诊时间
        /// </summary>
        public DateTime? EcgConfirmTime { get; set; }
        /// <summary>
        /// 是否远程传输
        /// </summary>
        public string IsEcgTransmission { get; set; }
        /// <summary>
        /// 传输方式
        /// </summary>
        public string TransmissionClass { get; set; }
        /// <summary>
        /// 传输时间
        /// </summary>
        public DateTime? TransmissionTime { get; set; }
        /// <summary>
        /// 心内科会诊医生
        /// </summary>
        public string CardiologistName { get; set; }
        /// <summary>
        /// 心内科医生会诊时间
        /// </summary>
        public DateTime? ConsultatTime { get; set; }
        /// <summary>
        /// 启用导管室时间
        /// </summary>
        public DateTime? StartCatheterTime { get; set; }
        /// <summary>
        ///是否溶栓
        /// </summary>
        public int IsThrombolysis { get; set; }
        /// <summary>
        /// 溶栓地点
        /// </summary>
        public string ThrombolysisAddr { get; set; }
        /// <summary>
        /// 溶栓时间
        /// </summary>
        public DateTime? ThrombolysisTime { get; set; }
        /// <summary>
        /// 溶栓药物
        /// </summary>
        public string ThrombolysisMedicine { get; set; }
        /// <summary>
        /// 溶栓剂量
        /// </summary>
        public string ThrombolysisDose { get; set; }
        /// <summary>
        /// 意识
        /// </summary>
        public string PatientConsciousness { get; set; }
        /// <summary>
        /// 呼吸
        /// </summary>
        public int? PatientBreathe { get; set; }
        /// <summary>
        /// 脉搏
        /// </summary>
        public int? PatientPulse { get; set; }
        /// <summary>
        /// 心率
        /// </summary>
        public int? PatientHeart { get; set; }
        /// <summary>
        /// 血压l
        /// </summary>
        public int? PatientBloodL { get; set; }
        /// <summary>
        /// 血压h
        /// </summary>
        public int? PatientBloodH { get; set; }
        /// <summary>
        /// 肌钙蛋白抽血时间
        /// </summary>
        public DateTime? DrawBloodTime { get; set; }
        /// <summary>
        /// 肌钙蛋白报告时间
        /// </summary>
        public DateTime? ReportTime { get; set; }
        /// <summary>
        /// Ctnl值
        /// </summary>
        public string CtnlValue { get; set; }
        /// <summary>
        /// Ctnl单位
        /// </summary>
        public string CtnlUnit { get; set; }
        /// <summary>
        /// Ctnl状态（阴性0阳性1）
        /// </summary>
        public int? CtnlStatus { get; set; }
        /// <summary>
        /// Ctnt值
        /// </summary>
        public string CtntValue { get; set; }
        /// <summary>
        /// Ctnt单位
        /// </summary>
        public string CtntUnit { get; set; }
        /// <summary>
        /// Ctnt状态（阴性0阳性1）
        /// </summary>
        public int? CtntStatus { get; set; }
        /// <summary>
        /// 血清肌酐值
        /// </summary>
        public string CrValue { get; set; }
        /// <summary>
        /// 血清肌酐单位
        /// </summary>
        public string CrUnit { get; set; }
        /// <summary>
        /// 初步诊断
        /// </summary>
        public string PreDiagnosis { get; set; }
        /// <summary>
        /// 诊疗路径ID
        /// </summary>
        public int DiagnosticPathId { get; set; }

        /// <summary>
        /// 转归类型（0出院1转送其他医院2转送其他科室3死亡）
        /// </summary>
        public int? OutComeType { get; set; }
        /// <summary>
        /// 出院时间
        /// </summary>
        public DateTime? LeaveHospitalTime { get; set; }
        /// <summary>
        /// 治疗结果（0治愈 1好转2脑死亡离院3其他原因离院）
        /// </summary>
        public int? TreatmentResultType { get; set; }
        /// <summary>
        /// 出院带药（1DAPT 2ACEI/ARB 3他汀 4β阻滞剂）
        /// </summary>
        public string TakeMedicineType { get; set; }
        /// <summary>
        /// 离开本院大门时间
        /// </summary>
        public DateTime? LeaveDoorTime { get; set; }
        /// <summary>
        /// 转往医院
        /// </summary>
        public string TransferHospitalName { get; set; }
        /// <summary>
        /// 转到时间
        /// </summary>
        public DateTime? TransferArriveTime { get; set; }
        /// <summary>
        /// 原因
        /// </summary>
        public string TransferReason { get; set; }
        /// <summary>
        /// 运转PCI
        /// </summary>
        public int? IsPCI { get; set; }
        /// <summary>
        /// 直达导管室
        /// </summary>
        public int IsDirectCatheter { get; set; }
        /// <summary>
        /// 转科时间
        /// </summary>
        public DateTime? TransferDepTime { get; set; }
        /// <summary>
        /// 接诊时间
        /// </summary>
        public DateTime? ReceptionTime { get; set; }
        /// <summary>
        /// 转科原因描述
        /// </summary>
        public string TransferDepReason { get; set; }
        /// <summary>
        /// 死亡时间
        /// </summary>
        public DateTime? DieTime { get; set; }
        /// <summary>
        /// 是否心源性
        /// </summary>
        public int? IsCardiogenic { get; set; }
        /// <summary>
        /// 描述
        /// </summary>
        public string DieDescribe { get; set; }

        public string UpdateUserId { get; set; }
        /// <summary>
        /// 病情评估
        /// </summary>
        public string ConditionAssessment { get; set; }
        /// <summary>
        /// 发病地址
        /// </summary>
        public string EMS_DISEASE_ADDR { get; set; }

        /// <summary>
        /// 院内首次医疗接触 医护人员信息
        /// </summary>
        public string Medical_Name { get; set; }
        /// <summary>
        /// 院内首次医疗接触 首次机构
        /// </summary>
        public string First_Institutions { get; set; }
        /// <summary>
        /// 院内首次医疗接触 院内首次医疗接触图片
        /// </summary>
        public string Image_ADD { get; set; }
        /// <summary>
        /// 院内首次医疗接触 院内首份心电图时间
        /// </summary>
        public Nullable<System.DateTime> Ecg_Time { get; set; }
        /// <summary>
        /// 院内首次医疗接触 心电图确诊时间
        /// </summary>
        public Nullable<System.DateTime> Ecg_Confirmed_Time { get; set; }
        /// <summary>
        /// 院内首次医疗接触 接触时间
        /// </summary>
        public Nullable<System.DateTime> Contact_Time { get; set; }
        /// <summary>
        /// 院前首次医疗接触 给药时间
        /// </summary>
        public Nullable<System.DateTime> Delivery_Time { get; set; }
        /// <summary>
        /// 院前首次医疗接触 导管室心电图时间
        /// </summary>
        public Nullable<System.DateTime> Catheter_Ecg_Time { get; set; }
        /// <summary>
        /// 院前首次医疗接触 肌钙蛋白抽血时间
        /// </summary>
        public Nullable<System.DateTime> Troponin_Blood_Time { get; set; }
        /// <summary>
        /// 院前首次医疗接触 接触时间
        /// </summary>
        public Nullable<System.DateTime> AMBULANCE_Contact_Time { get; set; }
        /// <summary>
        /// 院前首次医疗接触 院前图片上
        /// </summary>
        public string Image1_ADD { get; set; }
        /// <summary>
        /// 院前首次医疗接触 院前图片下
        /// </summary>
        public string Image2_ADD { get; set; }
        /// <summary>
        /// 院前首次医疗接触 药名
        /// </summary>
        public string Drug_Name { get; set; }
        /// <summary>
        /// 院前首次医疗接触 首次机构
        /// </summary>
        public string AMFirst_Institutions { get; set; }
        /// <summary>
        /// 院前首次医疗接触 医护人员信息
        /// </summary>
        public string AMMedical_Name { get; set; }
        /// <summary>
        /// 院前首次心电图时间
        /// </summary>
        public Nullable<System.DateTime> AMEcg_Time { get; set; }
        /// <summary>
        /// 药品单位  阿司匹林
        /// </summary>
        public Nullable<double> Aspirin { get; set; }
        /// <summary>
        /// 药品单位  替格瑞洛
        /// </summary>
        public Nullable<double> Ticagrelor { get; set; }
        /// <summary>
        /// 药品单位  氯吡格雷
        /// </summary>
        public Nullable<double> Clopidogrel { get; set; }

        /// <summary>
        /// 通知放射科时间
        /// </summary>
        public Nullable<System.DateTime> Doubt_Radiology_NoticeTime { get; set; }
        /// <summary>
        /// 到达放射科时间 
        /// </summary>
        public Nullable<System.DateTime> Doubt_Radiology_ArriveTime { get; set; }
        /// <summary>
        /// 摄片开始时间
        /// </summary>
        public Nullable<System.DateTime> Doubt_Radiography_Time { get; set; }
        /// <summary>
        /// 摄片诊断时间
        /// </summary>
        public Nullable<System.DateTime> Doubt_Radiography_DIAGNOSISTime { get; set; }
        /// <summary>
        /// 诊断
        /// </summary>
        public string Doubt_Radiography_DIAGNOSIS { get; set; }


        public string 导管室激活时间 { get; set; }
        public string 患者到达导管室时间 { get; set; }
        public string 手术开始时间 { get; set; }
        public string 手术结束时间 { get; set; }
        public string 穿刺开始时间 { get; set; }
        public string 穿刺成功时间 { get; set; }
        public string 造影开始时间 { get; set; }
        public string 造影结束时间 { get; set; }
        public string 首次球囊扩张时间 { get; set; }
        public string 通知放射科时间 { get; set; }
        public string 到达放射科时间 { get; set; }
        public string 摄片开始时间 { get; set; }
        public string 摄片诊断时间 { get; set; }

        public string NURSE_NAME { get; set; }
        public Nullable<System.DateTime> PRE_ECG_TIME { get; set; }
        //危险层级
        public Nullable<int> GRACE_DANGER { get; set; }

        /// <summary>
        /// 初步诊断时间
        /// </summary>
        public Nullable<DateTime> FirstDiagnosisTime { get; set; }
        /// <summary>
        /// 呼叫专科会诊时间
        /// </summary>
        public Nullable<DateTime> RoomMeetTime { get; set; }
        /// <summary>
        /// 会诊科室
        /// </summary>
        public string MeetRoomName { get; set; }
        /// <summary>
        /// 给药时间院内
        /// </summary>
        public Nullable<DateTime> DeliveryTime { get; set; }
        /// <summary>
        /// 阿司匹林院内
        /// </summary>
        public Nullable<Double> AspirinYn { get; set; }
        /// <summary>
        /// 替格瑞洛院内
        /// </summary>
        public Nullable<Double> TicagrelorYn { get; set; }
        /// <summary>
        /// 氯吡格雷院内
        /// </summary>
        public Nullable<Double> ClopidogrelYn { get; set; }
        /// <summary>
        /// 院内离开科室时间
        /// </summary>
        public Nullable<DateTime> LeaveRoomTime { get; set; }
        /// <summary>
        /// 开始知情同意时间
        /// </summary>
        public Nullable<DateTime> StartinforConsentTime { get; set; }
        /// <summary>
        /// 签署知情同意时间
        /// </summary>
        public Nullable<DateTime> SigninforConsentTime { get; set; }
        /// <summary>
        /// 决定导管室时间
        /// </summary>
        public Nullable<DateTime> DeterminCatheterTime { get; set; }
        /// <summary>
        /// 阿替普酶支数
        /// </summary>
        public Nullable<int> Enzyme { get; set; }
        /// <summary>
        /// 尿激酶支数
        /// </summary>
        public Nullable<int> Urokinase { get; set; }

        /// <summary>
        /// 评估D2B分钟数
        /// </summary>
        public string GuessD2BMins { get; set; }

        /// <summary>
        ///    药品瑞舒伐他汀
        /// </summary>
        public Nullable<double> Rosuvastatin { get; set; }
        /// <summary>
        /// 药品阿托伐他汀
        /// </summary>
        public Nullable<double> Atorvastatin { get; set; }

        /// <summary>
        ///    药品瑞舒伐他汀院内
        /// </summary>
        public Nullable<double> RosuvastatinYn { get; set; }
        /// <summary>
        /// 药品阿托伐他汀院内
        /// </summary>
        public Nullable<double> AtorvastatinYn { get; set; }
    
    }
    /// <summary>
    /// 修改胸痛病历（PC）
    /// </summary>
    public class SetCaseHistory : CaseHistoryViewModel
    {
        public List<DiagnosticPathContent> ContentList { get; set; }
    }


    public partial class DiagnosticPathContent
    {
        public int ID { get; set; }
        public int DiagnosticPathId { get; set; }
        public string PatientId { get; set; }
        public string ControlId { get; set; }
        public Nullable<int> ControlType { get; set; }
        public Nullable<int> ControlWidth { get; set; }
        public string ControlContent { get; set; }
        public string ControlTitle { get; set; }
        public string ControlName { get; set; }
        public string ControlDescribe { get; set; }
        public string Options { get; set; }
        public string TimeFormart { get; set; }
        public Nullable<int> IsMust { get; set; }
        public Nullable<System.DateTime> OverTime { get; set; }
    }

    public partial class DiagnosticPathTemplate
    {
        public int ID { get; set; }
        public int DiagnosticPathId { get; set; }
        public int ChildId { get; set; }
        public string ControlTitle { get; set; }
        public string ControlId { get; set; }
        public int ControlType { get; set; }
        public string ControlName { get; set; }
        public string ControlDescribe { get; set; }
        public int ControlWidth { get; set; }
        public string Options { get; set; }
        public string TimeFormart { get; set; }
        public int IsMust { get; set; }
        public int IsTimeLimit { get; set; }
        public int LimitHours { get; set; }
        public int IsTimePoint { get; set; }
        public int IsDelete { get; set; }
        public Nullable<System.DateTime> OverTime { get; set; }
    }
}